using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Collections.ObjectModel;
using System.Xml.Serialization;
using EnvDTE;
using Microsoft.VisualStudio.Shell.Interop;
using System.Diagnostics;

namespace WebAppUploader
{
	public class ProjectFileModel : INotifyPropertyChanged
	{
		public event PropertyChangedEventHandler PropertyChanged;

		#region Property FileName
		private string _FileName = "";
		public string FileName
		{
			get
			{
				return _FileName;
			}
			set
			{
				_FileName = value;
				if (PropertyChanged != null)
					PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs("FileName"));
			}
		}

		#endregion

		#region Property LastUpdate
		private DateTime _LastUpdate = DateTime.MinValue;
		public DateTime LastUpdate
		{
			get
			{
				return _LastUpdate;
			}
			set
			{
				_LastUpdate = value;
				if (PropertyChanged != null)
					PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs("LastUpdate"));
			}
		}

		#endregion

		
		#region Property Dirty
		private bool _Dirty = false;
		[System.ComponentModel.Bindable(true)]
		[System.ComponentModel.DefaultValue(false)]
		[System.ComponentModel.Category("Category")]
		public bool Dirty
		{
			get
			{
				return _Dirty;
			}
			set
			{
				_Dirty = value;
				if (PropertyChanged != null)
					PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs("Dirty"));
			}
		}

		#endregion
	
		#region Property FilePath
		private string _FilePath = "";
		public string FilePath
		{
			get
			{
				return _FilePath;
			}
			set
			{
				_FilePath = value;
				if (PropertyChanged != null)
					PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs("FilePath"));
			}
		}

		#endregion

		#region Property RelativePath
		private string _RelativePath = "";
		[System.ComponentModel.Bindable(true)]
		[System.ComponentModel.DefaultValue("")]
		[System.ComponentModel.Category("Category")]
		public string RelativePath
		{
			get
			{
				return _RelativePath;
			}
			set
			{
				_RelativePath = value;
				if (PropertyChanged != null)
					PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs("RelativePath"));
			}
		}

		#endregion
	

	}
}
